home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu11 / basic11.arc / BASIC11.LST next >
File List  |  1990-10-10  |  16KB  |  270 lines

  1. IOPKG  --  Micro Dialects, Inc. uASM-HC11 Assembler   Mon, Sep 24, 1990 1:03 PM -- Page 2
  2.  
  3.  
  4.  6982                   *
  5.  6983                   *
  6.  6984 FED2              OUTBYTE          EQU    *
  7.  6985 FED2 7C001E                        INC    PRINTPOS            INCREMENT THE CURRENT PRINT POSITION.
  8.  6986 FED5 37                            PSHB                       SAVE THE B-REG.
  9.  6987 FED6 3C                            PSHX                       SAVE THE X-REG.
  10.  6988 FED7 CE00B4                        LDX    #OUTABLE            POINT TO THE OUTPUT VECTOR TABLE.
  11.  6989 FEDA D637         OUTBYTE1         LDAB   DEVNUM              GET THE CURRENT DEVICE NUMBER.
  12.  6990 FEDC 58                            ASLB                       MULT BY 2.
  13.  6991 FEDD 3A                            ABX                        POINT TO THE ADDRESS OF THE OUTPUT ROUTINE.
  14.  6992 FEDE EE00                          LDX    0,X                 GET THE ADDRESS. HAS THE VECTOR BEEN INITALIZED?
  15.  6993 FEE0 2608                          BNE    OUTBYTE2            YES. GO OUTPUT THE CHARACTER.
  16.  6994 FEE2 7F0037                        CLR    DEVNUM              NO. RESET TO DEVICE #0.
  17.  6995 FEE5 8631                          LDAA   #UNINIERR           GO REPORT AN UNINITALIZED I/O VECTOR ERROR.
  18.  6996 FEE7 7EEAEF                        JMP    RPTRERR
  19.  6997 FEEA AD00         OUTBYTE2         JSR    0,X                 GO OUTPUT THE CHARACTER.
  20.  6998 FEEC 38                            PULX                       RESTORE X.
  21.  6999 FEED 33                            PULB                       RESTORE B.
  22.  7000 FEEE 39                            RTS                        RETURN.
  23.  7001                   *
  24.  7002 FEEF              INBYTE           EQU    *
  25.  7003 FEEF 37                            PSHB                       SAVE THE B-REG.
  26.  7004 FEF0 3C                            PSHX                       SAVE THE X-REG.
  27.  7005 FEF1 CE00A4                        LDX    #INTABLE            POINT TO THE INPUT VECTOR TABLE.
  28.  7006 FEF4 20E4                          BRA    OUTBYTE1            GO USE THE SAME CODE AS OUTBYTE.
  29.  7007                   *
  30.  7008                   *
  31.  7009 0000                               if     *>$FF00
  32.  7011                                    endif
  33.  7012                   *
  34.  7013                   *
  35.  7014 FF00                               ORG    $FF00
  36.  7015                   *
  37.  7016                   *
  38.  7017 FF00 8D0D         ACIAIN           BSR    ACIAINNE            GO GET CHARACTER FROM ACIA, NO ECHO.
  39.  7018                   *                            NOW, FALL THROUGH TO ACIAOUT TO ECHO CHARACTER.
  40.  7019                   *
  41.  7020                   *
  42.  7021 FF02 36           ACIAOUT          PSHA                       SAVE THE CHARACTER TO OUTPUT.
  43.  7022 FF03 B69800       ACIAOUT1         LDAA   ACIAST              GET THE ACIA STATUS.
  44.  7023 FF06 8502                          BITA   #$02                IS THE XMIT DATA REGISTER EMPTY?
  45.  7024 FF08 27F9                          BEQ    ACIAOUT1            NO. WAIT TILL IT IS.
  46.  7025 FF0A 32                            PULA                       YES. GET BYTE TO SEND.
  47.  7026 FF0B B79801                        STAA   ACIADT              SEND IT.
  48.  7027 FF0E 39                            RTS                        RETURN.
  49.  7028                   *
  50.  7029                   *
  51.  7030                   *
  52.  7031                   *
  53.  7032                   *
  54.  7033                   *
  55.  7034 FF0F B69800       ACIAINNE         LDAA   ACIAST              GET THE ACIA STATUS.
  56.  7035 FF12 8501                          BITA   #$01                HAS A CHARACTER BEEN RECIEVED?
  57.  7036 FF14 27F9                          BEQ    ACIAINNE            NO. WAIT TILL WE HAVE ONE.
  58.  7037 FF16 B69801                        LDAA   ACIADT              YES. GET THE CHARACTER.
  59.  7038 FF19 39                            RTS                        RETURN.
  60.  7039                   *
  61.  7040 FF1A              ACIASTAT         EQU    *
  62.  7041 FF1A 36                            PSHA                       SAVE THE A-REG.
  63.  7042 FF1B B69800                        LDAA   ACIAST              GET THE ACIA STATUS.
  64.  7043 FF1E 8501                          BITA   #$01                CHECK FOR A CHARACTER.
  65.  7044 FF20 32                            PULA                       RESTORE A.
  66.  7045 FF21 39                            RTS                        RETURN.
  67.  7046                   *
  68.  7047                   *
  69. IOPKG  --  Micro Dialects, Inc. uASM-HC11 Assembler   Mon, Sep 24, 1990 1:03 PM -- Page 3
  70.  
  71.  
  72.  7048 FF22              SCIIN            EQU    *
  73.  7049 FF22 3C                            PSHX                       Save the index register.
  74.  7050 FF23 DE61                          LDX    IOBaseV
  75.  7051 FF25 A62E         SCIIN1           LDAA   SCSR,X              GET SCI STATUS.
  76.  7052 FF27 8420                          ANDA   #$20                HAS A CHARACTER BEEN RECIEVED?
  77.  7053 FF29 27FA                          BEQ    SCIIN1              NO. WAIT FOR CHARACTER TO BE RECIEVED.
  78.  7054 FF2B A62F                          LDAA   SCDR,X              GET THE CHARACTER.
  79.  7055 FF2D 38                            PULX                       Restore X.
  80.  7056 FF2E 39                            RTS                        RETURN.
  81.  7057                   *
  82.  7058                   *
  83.  7059 FF2F              SCIOUT           EQU    *
  84.  7060 FF2F 3C                            PSHX                       Save the index register.
  85.  7061 FF30 DE61                          LDX    IOBaseV
  86.  7062 FF32 36                            PSHA                       SAVE THE CHARACTER TO SEND.
  87.  7063 FF33 A62E         SCIOUT1          LDAA   SCSR,X              GET THE SCI STATUS.
  88.  7064 FF35 8580                          BITA   #$80                HAS THE LAST CHARACTER BEEN SHIFTED OUT?
  89.  7065 FF37 27FA                          BEQ    SCIOUT1             NO. WAIT TILL IT HAS.
  90.  7066 FF39 32                            PULA                       RESTORE CHARACTER TO SEND.
  91.  7067 FF3A A72F                          STAA   SCDR,X              SEND THE CHARACTER.
  92.  7068 FF3C 38                            PULX                       Restore X.
  93.  7069 FF3D 39                            RTS                        RETURN.
  94.  7070                   *
  95.  7071                   *
  96.  7072 FF3E              SCISTAT          EQU    *
  97.  7073 FF3E 3C                            PSHX                       Save the index register.
  98.  7074 FF3F DE61                          LDX    IOBaseV
  99.  7075 FF41 36                            PSHA                       SAVE THE A-REG.
  100.  7076 FF42 A62E                          LDAA   SCSR,X              GET THE SCI STATUS.
  101.  7077 FF44 8520                          BITA   #$20                CHECK TO SEE IF A CHARACTER HAS BEEN RECIEVED.
  102.  7078 FF46 32                            PULA                       RESTORE STATUS.
  103.  7079 FF47 38                            PULX                       Restore X.
  104.  7080 FF48 39                            RTS                        RETURN W/ STATUS.
  105.  7081                   *
  106.  7082                   *
  107.  7083 FF49              IODevInit:       
  108.  7084 FF49 8D2A                          BSR    InitACIA
  109.  7085 FF4B 8D11                          BSR    InitSCI
  110.  7086 FF4D 867E                          LDAA   #JMPOP
  111.  7087 FF4F 979E                          STAA   CONSTAT             INITIALIZE THE CONSOLE STATUS VECTOR.
  112.  7088 FF51 97A1                          STAA   INCONNE             INITIALIZE THE "INPUT FROM CONSOLE NO ECHO VECT.
  113.  7089 FF53 CCFF1A                        LDD    #ACIASTAT           CONSOLE IS INITIALLY THE ACIA.
  114.  7090 FF56 DD9F                          STD    CONSTAT+1
  115.  7091 FF58 CCFF0F                        LDD    #ACIAINNE           GET BYTE FROM ACIA, DON'T ECHO IT.
  116.  7092 FF5B DDA2                          STD    INCONNE+1
  117.  7093 FF5D 39                            RTS
  118.  7094                   *
  119.  7095                   *
  120.  7096 FF5E              INITSCI          EQU    *
  121.  7097 FF5E 3C                            PSHX                       Save the index register.
  122.  7098 FF5F DE61                          LDX    IOBaseV
  123.  7099 FF61 8630                          LDAA   #$30                SET BAUD RATE TO 9600.
  124.  7100 FF63 A72B                          STAA   BAUD,X
  125.  7101 FF65 6F2C                          CLR    SCCR1,X             SET FOR 8 BIT OPERATION, DISABLE WAKEUP.
  126.  7102 FF67 860C                          LDAA   #$0C                ENABLE THE TRANSMITER & RECEIVER.
  127.  7103 FF69 A72D                          STAA   SCCR2,X
  128.  7104 FF6B 8611                          LDAA   #$11                GET THE XON CHARACTER (CONTROL-Q).
  129.  7105 FF6D 9743                          STAA   XONCH               INITALIZE THE XON REGISTER.
  130.  7106 FF6F 8613                          LDAA   #$13                GET THE XOFF CHARACTER (CONTROL-S).
  131.  7107 FF71 9744                          STAA   XOFFCH              INITALIZE THE XOFF CHARACTER.
  132.  7108 FF73 38                            PULX
  133.  7109 FF74 39                            RTS                        RETURN.
  134.  7110                   *
  135.  7111                   *
  136.  7112 FF75 8613         INITACIA         LDAA   #$13                VALUE TO RESET THE ACIA.
  137. IOPKG  --  Micro Dialects, Inc. uASM-HC11 Assembler   Mon, Sep 24, 1990 1:03 PM -- Page 4
  138.  
  139.  
  140.  7113 FF77 B79800                        STAA   ACIAST              RESET IT.
  141.  7114 FF7A 8656                          LDAA   #$56                SET /64, RTS=HI, 8-DATA/1 STOP
  142.  7115 FF7C B79800                        STAA   ACIAST
  143.  7116 FF7F 39                            RTS                        RETURN.
  144.  7117                   *
  145.  7118                   *
  146.  7119                   *
  147.  7120 FF80              PROUT            EQU    *                   SEND A CHARACTER TO THE PRINTER.
  148.  7121 FF80 8DBC                          BSR    SCISTAT             WAS AN "X-OFF" RECIEVED?
  149.  7122 FF82 270E                          BEQ    PROUT1              NO. GO SEND THE CHARACTER.
  150.  7123 FF84 36                            PSHA                       SAVE THE CHARACTER TO SEND.
  151.  7124 FF85 8D9B                          BSR    SCIIN               YES. GO RESET THE SCI RECEIVER STATUS.
  152.  7125 FF87 9144                          CMPA   XOFFCH              WAS IT AN XOFF?
  153.  7126 FF89 2606                          BNE    PROUT2              NO. SO GO SEND THE CHARACTER.
  154.  7127 FF8B 8D95         PROUT3           BSR    SCIIN               GO WAIT FOR AN "X-ON" CHARACTER.
  155.  7128 FF8D 9143                          CMPA   XONCH               IS IT AN X-ON CHARACTER?
  156.  7129 FF8F 26FA                          BNE    PROUT3              NO. GO WAIT FOR AN X-ON CHARACTER.
  157.  7130 FF91 32           PROUT2           PULA                       GET THE CHARACTER TO SEND.
  158.  7131 FF92 209B         PROUT1           BRA    SCIOUT              SEND THE CHARACTER TO THE PRINTER & RETURN.
  159.  7132                   *
  160.  7133                   *
  161.  7134                                    Include 'VECTORS.Asm'
  162.  7135                                    ttl    Config/Reset/Interrupt Vectors
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205. Config/Reset/Interrupt Vectors  --  Micro Dialects, Inc. uASM-HC11 Assembler   Mon, Sep 24, 1990 1:03 PM -- Page 5
  206.  
  207.  
  208.  7137 0000                               if     *>$ffa0
  209.  7139                                    endif
  210.  7140                   *
  211.  7141                   *
  212.  7142                   *
  213.  7143 FFA0                               org    $ffa0
  214.  7144 FFA0 FF00         IOVects          fdb    ACIAIN
  215.  7145 FFA2 FF22                          fdb    SCIIN
  216.  7146 FFA4 0000                          fdb    0
  217.  7147 FFA6 0000                          fdb    0
  218.  7148 FFA8 0000                          fdb    0
  219.  7149 FFAA 0000                          fdb    0
  220.  7150 FFAC 0000                          fdb    0
  221.  7151 FFAE 0000                          fdb    0
  222.  7152 FFB0 FF02                          fdb    ACIAOUT
  223.  7153 FFB2 FF80                          fdb    PROUT
  224.  7154 FFB4 0000                          fdb    0
  225.  7155 FFB6 0000                          fdb    0
  226.  7156 FFB8 0000                          fdb    0
  227.  7157 FFBA 0000                          fdb    0
  228.  7158 FFBC 0000                          fdb    0
  229.  7159 FFBE 0000                          fdb    0
  230.  7160                   *
  231.  7161                   *
  232.  7162 FFC0                               org    $ffc0
  233.  7163 FFC0 C000         RAMStart         fdb    $c000               starting address of system RAM.
  234.  7164 FFC2 2000         RAMSize          fdb    $2000               size of BASIC11 RAM Buffer.
  235.  7165 FFC4 6000         EEStart          fdb    $6000               starting address of program storage EEPROM 
  236.  7166 FFC6 2000         EESize           fdb    $2000               size of the program storage EEPROM
  237.  7167 FFC8 1000         IOBase           fdb    $1000               Base Address of the I/O Registers
  238.  7168 FFCA F424         TimeVal          fdb    62500               value used for generating 'Time' Interrupt
  239.  7169 FFCC FF49         UserInit         fdb    IODevInit           Used to initialize console/other hardware.
  240.  7170 FFCE 4000         DFLOPADR         fdb    $4000               ; Address of flip-flop used to connect the HC11 SCI
  241.  7171                                                               ; to the host port connector.
  242.  7172                   ;
  243.  7173                   ;
  244.  7174
  245.  7175 FFD6                               ORG    ROMBEG+ROMSIZE-(21*2) START OF VECTOR TABLE.
  246.  7176 FFD6 00C4                          FDB    SCISS               SCI SERIAL SYSTEM
  247.  7177 FFD8 00C7                          FDB    SPITC               SPI TRANSFER COMPLETE
  248.  7178 FFDA 00CA                          FDB    PACCIE              PULSE ACCUMULATOR INPUT EDGE
  249.  7179 FFDC 00CD                          FDB    PACCOVF             PULSE ACCUMULATOR OVERFLOW
  250.  7180 FFDE 00D0                          FDB    TIMEROVF            TIMER OVERFLOW
  251.  7181 FFE0 00D3                          FDB    TOC5                TIMER OUTPUT COMPARE 5
  252.  7182 FFE2 00D6                          FDB    TOC4                TIMER OUTPUT COMPARE 4
  253.  7183 FFE4 00D9                          FDB    TOC3                TIMER OUTPUT COMPARE 3
  254.  7184 FFE6 00DC                          FDB    TOC2                TIMER OUTPUT COMPARE 2
  255.  7185 FFE8 00DF                          FDB    TOC1                TIMER OUTPUT COMPARE 1
  256.  7186 FFEA 00E2                          FDB    TIC3                TIMER INPUT CAPTURE 3
  257.  7187 FFEC 00E5                          FDB    TIC2                TIMER INPUT CAPTURE 2
  258.  7188 FFEE 00E8                          FDB    TIC1                TIMER INPUT CAPTURE 1
  259.  7189 FFF0 00EB                          FDB    REALTIMI            REAL TIME INTERRUPT
  260.  7190 FFF2 00EE                          FDB    IRQI                IRQ INTERRUPT
  261.  7191 FFF4 00F1                          FDB    XIRQ                XIRQ INTERRUPT
  262.  7192 FFF6 00F4                          FDB    SWII                SOFTWARE INTERRUPT
  263.  7193 FFF8 00F7                          FDB    ILLOP               ILLEGAL OPCODE TRAP
  264.  7194 FFFA 00FA                          FDB    COP                 WATCH DOG FAIL
  265.  7195 FFFC 00FD                          FDB    CMF                 CLOCK MONITOR FAIL
  266.  7196 FFFE ED77                          FDB    POWERUP             RESET
  267.  7197                   *
  268.  7198                   *
  269.  7199                   *
  270.